perm filename DR.LSP[3,LMM] blob sn#037511 filedate 1973-04-24 generic text, type T, neo UTF8

(DEFPROP DRFNS
 (DRFNS SHOWIT DR DRAWRAD BUMP PUTLINE PUTAT SPLITDIRECTION DELTAS DELTALIST (SETSCALE -5. 5. -5. 5.))
VALUE)

(DEFPROP SHOWIT
 (LAMBDA NIL (SHOW 3.))
EXPR)

(DEFPROP DR
 (LAMBDA (X) (DRAWRAD X (QUOTE (0. . 0.)) (QUOTE (1. . 0.))))
EXPR)

(DEFPROP DRAWRAD
 (LAMBDA(RAD FROMPOS DIRECTION)
  (COND	((NULL (CENTER RAD)) (HELP))
	((ATOM (CENTER RAD))
	 (PUTLINE FROMPOS (SETQ FROMPOS (BUMP FROMPOS DIRECTION)))
	 (PUTAT (CENTER RAD) FROMPOS)
	 (FOR NEW
	      ARAD
	      IN
	      (CLEXPAND (ATTACHEDRADS RAD))
	      AS
	      NEW
	      NEWDIR
	      IN
	      (SPLITDIRECTION DIRECTION (CLCOUNT (ATTACHEDRADS RAD)))
	      DO
	      (DRAWRAD ARAD FROMPOS NEWDIR)))
	(T (HELP))))
EXPR)

(DEFPROP BUMP
 (LAMBDA (X DIR) (CONS (PLUS (CAR X) (CAR DIR)) (PLUS (CDR X) (CDR DIR))))
EXPR)

(DEFPROP PUTLINE
 (LAMBDA (POS1 POS2) (LINE (CAR POS1) (CDR POS1) (CAR POS2) (CDR POS2)) (SHOWIT))
EXPR)

(DEFPROP PUTAT
 (LAMBDA (AT LOC) (APT (SCALX (CAR LOC)) (SCALY (CDR LOC))))
EXPR)

(DEFPROP SPLITDIRECTION
 (LAMBDA(DIR N)
  (COND	((EQ N 1.) (LIST DIR))
	(T
	 (FOR NEW
	      DELTPR
	      IN
	      (DELTAS N)
	      XLIST
	      (CONS (DIFFERENCE (TIMES (CAR DIR) (CAR DELTPR)) (TIMES (CDR DIR) (CDR DELTPR)))
		    (PLUS (TIMES (CDR DIR) (CAR DELTPR)) (TIMES (CAR DIR) (CDR DELTPR))))))))
EXPR)

(DEFPROP DELTAS
 (LAMBDA (N) (COND ((SETQ N (NTH DELTALIST (SUB1 N))) (CAR N)) (T (HELP "FIXUP DELTALIST"))))
EXPR)

(DEFPROP DELTALIST
 (DELTALIST ((0.70710677 . 0.70710677) (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677) (1.0 . 0.) (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.96592582 . 0.25881903)
	     (0.96592582 . -0.25881903)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.92387953 . 0.38268344)
	     (1.0 . 0.)
	     (0.92387953 . -0.38268343)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710678)
	     (0.89100652 . 0.45399050)
	     (0.98768832 . 0.15643446)
	     (0.98768834 . -0.15643446)
	     (0.89100652 . -0.45399050)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.86602540 . 0.5)
	     (0.96592582 . 0.25881903)
	     (1.0 . 0.)
	     (0.96592582 . -0.25881903)
	     (0.86602539 . -0.5)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.84672418 . 0.53203207)
	     (0.94388332 . 0.33027905)
	     (0.99371220 . 0.11196447)
	     (0.99371219 . -0.11196447)
	     (0.94388332 . -0.33027906)
	     (0.84672419 . -0.53203207)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.83146961 . 0.55557022)
	     (0.92387953 . 0.38268344)
	     (0.98078527 . 0.19509031)
	     (1.0 . 0.)
	     (0.98078528 . -0.19509031)
	     (0.92387953 . -0.38268343)
	     (0.83146960 . -0.55557022)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.81915203 . 0.57357644)
	     (0.90630777 . 0.42261827)
	     (0.96592582 . 0.25881903)
	     (0.99619468 . 0.87155747E-1)
	     (0.99619469 . -0.87155739E-1)
	     (0.96592582 . -0.25881903)
	     (0.90630778 . -0.42261826)
	     (0.81915203 . -0.57357643)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710678)
	     (0.80901698 . 0.58778526)
	     (0.89100652 . 0.45399050)
	     (0.95105651 . 0.30901699)
	     (0.98768832 . 0.15643446)
	     (1.0 . 0.74505805E-8)
	     (0.98768834 . -0.15643446)
	     (0.95105652 . -0.30901699)
	     (0.89100652 . -0.45399050)
	     (0.80901698 . -0.58778525)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.80054123 . 0.59927767)
	     (0.87767898 . 0.47924898)
	     (0.93694972 . 0.34946418)
	     (0.97714686 . 0.21256528)
	     (0.99745211 . 0.71339187E-1)
	     (0.99745210 . -0.71339179E-1)
	     (0.97714686 . -0.21256528)
	     (0.93694972 . -0.34946417)
	     (0.87767898 . -0.47924898)
	     (0.80054123 . -0.59927766)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.79335332 . 0.60876142)
	     (0.86602540 . 0.5)
	     (0.92387953 . 0.38268344)
	     (0.96592582 . 0.25881903)
	     (0.99144485 . 0.13052619)
	     (1.0 . 0.)
	     (0.99144485 . -0.13052618)
	     (0.96592582 . -0.25881903)
	     (0.92387953 . -0.38268343)
	     (0.86602539 . -0.5)
	     (0.79335332 . -0.60876142)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.78718348 . 0.61671887)
	     (0.85578127 . 0.51733782)
	     (0.91189983 . 0.41041281)
	     (0.95472086 . 0.29750305)
	     (0.98361991 . 0.18025503)
	     (0.99817554 . 0.60378499E-1)
	     (0.99817554 . -0.60378499E-1)
	     (0.98361990 . -0.18025503)
	     (0.95472086 . -0.29750305)
	     (0.91189983 . -0.41041281)
	     (0.85578127 . -0.51733781)
	     (0.78718347 . -0.61671887)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.78183149 . 0.62348980)
	     (0.84672418 . 0.53203207)
	     (0.90096887 . 0.43388373)
	     (0.94388332 . 0.33027905)
	     (0.97492790 . 0.22252093)
	     (0.99371220 . 0.11196447)
	     (1.0 . 0.)
	     (0.99371219 . -0.11196447)
	     (0.97492791 . -0.22252093)
	     (0.94388332 . -0.33027906)
	     (0.90096885 . -0.43388374)
	     (0.84672419 . -0.53203207)
	     (0.78183148 . -0.62348980)
	     (0.70710677 . -0.70710677))
	    ((0.70710677 . 0.70710677)
	     (0.77714595 . 0.62932038)
	     (0.83867055 . 0.54463904)
	     (0.89100652 . 0.45399050)
	     (0.93358042 . 0.35836794)
	     (0.96592582 . 0.25881903)
	     (0.98768832 . 0.15643446)
	     (0.99862952 . 0.52335957E-1)
	     (0.99862952 . -0.52335957E-1)
	     (0.98768834 . -0.15643446)
	     (0.96592582 . -0.25881903)
	     (0.93358042 . -0.35836794)
	     (0.89100652 . -0.45399050)
	     (0.83867055 . -0.54463903)
	     (0.77714595 . -0.62932038)
	     (0.70710677 . -0.70710677)))
VALUE)

(DEFPROP DELTALIST
 T
SPECIAL)

(SETSCALE -5. 5. -5. 5.)